package org.wu.framework.lazy.orm.database.jpa.repository.core;

import org.wu.framework.lazy.orm.database.jpa.repository.LazyJpaRepository;
import org.wu.framework.lazy.orm.database.lambda.stream.lambda.LazyLambdaStream;

/**
 * 创建 repository 需要的数据
 */
public interface LazyJapRepositoryMetadata {

    /**
     * 用于处理含有注解@select、@insert 的方法
     *
     * @return 返回 LazyLambdaStream 对象
     */
    LazyLambdaStream getLazyLambdaStream();

    /**
     * 开发人员自定义的 repository 接口属性信息
     *
     * @return LazyJpaEntityMetadata
     */
    LazyJpaEntityMetadata<?, ?, ?> getLazyJpaEntityMetadata();

    /**
     * 框架自带的基础方法
     *
     * @return LazyJpaRepository
     */
    LazyJpaRepository<?, ?> getLazyJpaRepository();
}
